The present invention relates to techniques for encoding and decoding messages, and more particularly to techniques for encoding a message in an image in which the message is not decodable by visual inspection.
Having machine-readable code on the packaging of a product is a good way to transmit information related to the product. For example, bar code has been used for many years to carry information such as product identification and inventory information. Such bar codes can be optically read to retrieve the information encoded in the bar codes.
However, bar codes are one dimensional and are limited in the amount of information that can be stored. As a result, two dimensional symbology has been developed to increase the amount of data stored by such codes. In using two dimensional codes for recording information, precise synchronization is needed to read the data from the symbol pattern sequentially. To provide orientation for the two dimensional symbology, the techniques of encoding often need visually identifiable features such as lines, frames, concentric rings, axes, columns or rows of symbols, or the like, that are optically discriminatable from other symbols and images. Unfortunately, such techniques are less than desirable if the information is to be embedded in a visual image because the visually identifiable features are obtrusive to a viewer who wants to observe the image without distraction.
What is needed is a technique for encoding and decoding embedded messages within a visual image without obtrusive features representing the embedded message or the synchronization or orientation of the data pattern.
U.S. Pat. No. 4,263,504 (Thomas), U.S. Pat. No. 5,189,292 (Batterman et al), U.S. Pat. No. 5,128,525 (Stearns et al.), U.S. Pat. No. 5,221,833 (Hecht), U.S. Pat. No. 5,245,165 (Zhang), U.S. Pat. No. 5,329,107 (Priddy et al.), U.S. Pat. No. 5,439,354 (Priddy), U.S. Pat. No. 5,481,103 (Wang), U.S. Pat. No. 5,507,527 (Tomioka, et al.), U.S. Pat. No. 5,515,447 (Zheng, et al.), U.S. Pat. No. 5,521,372 (Hecht, et al.), U.S. Pat. No. 5,541,396 (Rentsch), U.S. Pat. No. 5,572,010 (Petrie), U.S. Pat. No. 5,576,532 (Hecht), and U.S. Pat. No. 5,591,956 (Longacre, et al.) are examples of descriptions of the use of two dimensional symbology in storing encoded information. The disclosure of these cited patents are incorporated by reference herein in their entirety.
This invention provides techniques for decoding a message embedded in a pattern of pixels. The technique includes determining the pixel values for pixels from the pattern of pixels; determining binary values from the pixel values for pixels from the pattern of pixels; and determining the embedded message from the binary values. In another aspect, the present invention provides a device to encode an image with a foreground image having an embedded message and also provides a device for decoding the image for the embedded message.
The invention of the present invention can be advantageously applied in coding and decoding messages in a foreground image without resulting in obtrusive changes in the image that might overly distract a viewer from visually recognizing the foreground image. An example is loading a URL address (that has been embedded in a visual image) into a web browser. At the present, when a person xe2x80x9csurfs the netxe2x80x9d and comes across a xe2x80x9chotspotxe2x80x9d (which is often a photographic display or blue words) hyperlinked to another web site, the person would simply use the pointing device (a mouse) and click at the hotspot to move onto the web site of that hotspot. There is, however, no simple way to print out the displayed image and later use that image to input the URL address of the web site to direct a web browser to connect to the web site. The present technique provides a process, as well as a device to enable a web site to be printed to retain the visual image, yet allowing an electronic reader to read the image and direct the web browser to connect to that web site. The process includes receiving light from a display showing a pattern of pixels and determining pixel value of each pixel: recovering an embedded URL address by determining binary values from the pixel values for pixels; and loading the URL address into the web browser for connecting to the web site according to the URL address. The present invention can use grayscale images or multicolored images for communicating embedded messages in images. Thus, on a visual level, images and words can be displayed for a human to appreciate and read, yet on a less obvious level, a message embedded in the image can be read by a machine. The image, with the embedded message, when expressed in a printed form, can be taken from place to place conveniently.